#ifndef SHADERCODETEXT_H
#define SHADERCODETEXT_H

//用于fft字节镜像取序列的常数字节码
extern const int mirrorbytes[256];

//一般用途满屏正方形
extern const float square_verts[18];

//用于片段着色器通用计算的 通用顶点着色器程序代码
extern const char* const commonVertShaderCode;

//用于片段着色器通用计算的 通用顶点扩展(带模型、视图投影矩阵)着色器程序代码
extern const char* const commonExtVertShaderCode;

//用于无符号数纹理转换为浮点数纹理的片段着色器程序代码
extern const char* const cvtUItoFloatFragShaderCode;

//用于浮点数纹理转换为无符号数纹理的片段着色器程序代码
extern const char* const cvtFloatToUIFragShaderCode;

//用于纹理复制的片段着色器程序代码
extern const char* const textureCopyShaderCode;

//用于纹理复制的片段着色器程序代码(以源纹理长宽为复制长宽，可以接收偏移)
extern const char* const textureCopySrcShaderCode;

//用于拆分无符号整数纹理的片段着色器代码
extern const char* const splitTextureUI;

//用于拆分整数纹理的片段着色器代码
extern const char* const splitTextureINT;

//用于拆分单精度浮点数纹理的片段着色器代码
extern const char* const splitTextureFloat;

//用于合并无符号整数纹理的片段着色器代码
extern const char* const mergeTexturesUI;

//用于合并整数纹理的片段着色器代码
extern const char* const mergeTexturesINT;

//用于合并单精度浮点数纹理的片段着色器代码
extern const char* const mergeTexturesFloat;

//用于对无符号整数纹理进行阈值的片段着色器代码
extern const char* const textureThresholdUI;

//用于对整数纹理进行阈值的片段着色器代码
extern const char* const textureThresholdINT;

//用于对单精度浮点数纹理进行阈值的片段着色器代码
extern const char* const textureThresholdFloat;

//用于对纹理进行感兴趣区域提取的片段着色器代码
extern const char* const textureRegionOfInterest;

//用于对纹理中每个元素进行一些数学运算的片段着色器代码
extern const char* const texelMath;

//用于纹理和纹理进行一些数学运算的片段着色器代码
extern const char* const texturesMath;

//用于纹理缩放的片段着色器代码
extern const char* const resizeTextureStr;

//用于纹理平面的顶点着色器代码
extern const char* const textureTransformVertShader;
//用于纹理平面的片段着色器代码
extern const char* const textureTransformFragShader;

//用于设置2维 fft计算输入的片段着色器代码
extern const char* const setFFTInputTexShaderStr;
//用于获取2维 fft计算结果的片段着色器代码
extern const char* const getFFTResultTexShaderStr;
//用于计算2维 fft的计算着色器代码
extern const char* const compute2DFFTTexShaderStr;

//用于2维纹理进行转置的片段着色器代码
extern const char* const textureTransposeShaderCode;

//extern const char* const oneDimHistCalcVShaderCode;
//extern const char* const oneDimHistCalcFShaderCode;
//用于2维纹理进行一维直方图统计的片段着色器代码
extern const char* const oneDimHistCalcFShaderCode;

//用于2维纹理进行2维卷积的片段着色器代码
extern const char* const tex2DConv2DFShaderCode;

//用于2维纹理进行2维sobel卷积的片段着色器代码
extern const char* const tex2DConv2DSobelFShaderCode;

//用于2维纹理canny边缘检测时sobel卷积计算x y方向梯度的计算着色器代码
extern const char* const tex2DConv2DSobelCShaderCode;

#endif // SHADERCODETEXT_H
